در عصر اطلاعات و فناوریهای دیجیتالی، تمامی جنبههای زندگی ما، از شخصیترین کارها گرفته تا تمامی کارهایی که در همه سازمانها انجام میشوند، وابسته به کامپیوترها، نرمافزارها، دادههای دیجیتالی و شبکههای اطلاعاتی هستند که در مجموع به آنها فضای سایبری گفته میشود. آسیبپذیریهای نرمافزاری و حملات روز صفر از مهمترین تهدیدات در فضای سایبری هستند که باید به خوبی با آنها آشنا باشیم تا بتوانیم از دادهها که ارزشمندترین داراییهای ما در دنیای مدرن هستند، محافظت کنیم.
فضای سایبری با وجود تمام مزیتها و فرصتهایش همانند چاقویی دو لبه است که در صورت استفاده نادرست میتواند ضربات سنگینی به افراد و سازمانها وارد کند. بسیاری از دادههایی که در دستگاههای شخصی و سازمانی ذخیره یا از طریق شبکهها منتقل میشوند، کاملا محرمانه هستند و باید در مقابل دسترسی غیر مجاز محفوظ بمانند.
آسیبپذیریها در نرمافزارها به هکرها و مجرمین سایبری اجازه میدهند تا به دادههای محرمانه دسترسی غیر مجاز داشته باشند و حتی سیستمها و شبکههای افراد و سازمانها را تحت کنترل بگیرند و خسارات سنگینی به آنها وارد کنند.
یکی از انواع حملات سایبری که با استفاده از آسیبپذیریها انجام میشوند، حملات روز صفر هستند که مقابله با آنها بسیار دشوار است. در این مقاله میخواهیم حملات روز صفر و نحوه مقابله با آنها را به طور کامل برای شما توضیح دهیم. با سایبرنو همراه باشید.
تقریبا تمامی نرمافزارها، آسیبپذیری (Vulnerability) دارند. آسیبپذیریها نقصهای غیر عمدی یا حفراتی امنیتی در نرمافزارها هستند که هکرها میتوانند از آنها برای کسب دسترسیهای غیرمجاز استفاده کنند. در واقع، این آسیبپذیریها به دلیل ضعف در مراحل مختلف توسعه نرمافزار ایجاد میشوند.
زمانی که نرمافزاری آسیبپذیر روی دستگاهی نصب میشود، بسته به نوع و شدت آسیبپذیری به هکرها این امکان را میدهد تا به آن دستگاه یا حتی سرور نرمافزار دسترسیهایی غیرمجاز پیدا کنند و برای مثال، دست به سرقت دادهها بزنند یا کنترل دستگاهی که نرمافزار روی آن نصب شده یا سرور نرمافزار را در دست بگیرند.
خیلی از آسیبپذیریها تا زمان انتشار عمومی نرمافزار پیدا نمیشوند. وقتی نرمافزاری منتشر میشود هکرها و آزمایشگاههای امنیت سایبری، آن را از نظر وجود آسیبپذیریها بررسی میکنند و اگر خوش شانس باشیم آزمایشگاههای تحقیقاتی پیش از هکرها آسیبپذیریها را پیدا میکنند و به توسعهدهنده گزارش میدهند تا با ارائه آپدیتها یا پچهای امنیتی، آن آسیبپذیری را برطرف کند و در واقع، حفره امنیتی را ببندد.
بهترین حالت این است که خود توسعهدهنده پیش از انتشار نرمافزار و در مرحله تست، آسیبپذیریهای موجود را شناسایی و نسبت به رفع آنها اقدام کند.
با این حال، در خیلی از موارد، هکرها قبل از پچ شدن آسیبپذیری، نحوه سوء استفاده از آن را پیدا میکنند. به سوء استفاده کردن از آسیبپذیریهای نرمافزاری، اکسپلویت (exploit) گفته میشود.
حالا که با دو مفهوم آسیبپذیری نرمافزاری و اکسپلویت کردن آشنا شدید، وقت آن است که به موضوع اصلی مقاله پیش رو، یعنی حملات روز صفر بپردازیم. همچنان با ما همراه باشید.
اگر بخواهیم خیلی ساده توضیح دهیم، حمله روز صفر (zero-day attack) نوعی حمله سایبری است که در آن، هکر پیش از تیم توسعهدهنده، آسیبپذیری را کشف و آن را اکسپلویت میکند. به آسیبپذیریهایی که هکرها آنها را پیش از تیم توسعه نرمافزار کشف میکنند آسیبپذیری روز صفر (zero-day vulnerability) گفته میشود.
زمانی که چنین حملهای رخ میدهد هیچ پچ یا آپدیتی برای برطرف کردن آسیبپذیری وجود ندارد و مهاجمان با دانستن اینکه هیچ دفاعی در مقابل حمله آنها وجود ندارد آسیبپذیری را اکسپلویت میکنند. بنابراین، میتوان حملات روز صفر را نوعی تهدید امنیتی بسیار شدید و مهم دانست.
زمانی که هکرها، یک آسیبپذیری روز صفر را پیدا میکنند، به نوعی سازوکار دسترسی (delivery mechanism) نیاز دارند تا بتوانند به آن آسیبپذیری، دسترسی پیدا کنند.
یکی از مهمترین سازوکارهای دسترسی مورد استفاده توسط هکرها، حملات مهندسی اجتماعی هستند. در حملات مهندسی اجتماعی، هکر از هدف حمله میخواهد تا کاری مثل کلیک کردن روی یک لینک را انجام دهد. این حملات معمولا از طریق ایمیل یا پیامک انجام میشوند اما روشهای دیگری مثل ترغیب هدف به اسکن کردن کدهای QR نیز گزارش شده است.
معمولا، پس از اینکه قربانی، کار مورد نظر مهاجم را انجام دهد یک بدافزار روی دستگاه او دانلود میشود و به هکر امکان میدهد تا آسیبپذیری را اکسپلویت کند.
از آنجایی که هیچ دفاعی در مقابل حملات روز صفر وجود ندارد، احتمال موفقیت این حملات بسیار بالا است. مرورگرهای وب به دلیل کاربردهای گسترده، از اهداف رایج هکرها هستند.
حمله روز صفر را نباید با بدافزار روز صفر (zero-day malware) اشتباه بگیرید. بدافزارهای روز صفر، بدافزارهایی هستند که هنوز امضای نرمافزاری آنتی ویروسی برای آنها موجود نیست و هیچ آنتی ویروسی نمیتواند این بدافزارها را شناسایی کند.
معمولا، هر حمله روز صفر مراحل زیر را پشت سر میگذارد:
مهاجمان، درون کد اپلیکیشنهای پر کاربرد به جستجوی آسیبپذیریها پرداخته یا اینکه این نرمافزارها را تست میکنند تا آسیبپذیریهای آنها را شناسایی کنند. حتی چیزی به اسم بازار روز صفر (zero-day market) وجود دارد که مهاجمان میتوانند در آن بازار، آسیبپذیریها را بخرند که در ادامه مقاله در رابطه با این بازارها بیشتر توضیح خواهیم داد.
زمانی که مهاجم، آسیبپذیری روز صفر را کشف میکند یا آن را میخرد، باید برای اکسپلویت کردن آن، نوعی بدافزار را کدنویسی کند. سپس، باید این بدافزار را به سیستمهای هدف برساند و همانطور که گفتیم، معمولا برای این کار از حملات مهندسی اجتماعی یا فیشینگ استفاده میکند.
مهاجمان میتوانند از باتها، اسکنرهای اتوماتیک و دیگر ابزارها برای شناسایی سیستمهایی که نرمافزار آسیبپذیر روی آنها نصب شده است استفاده کنند.
در یک حمله هدفمند به یک سازمان خاص، مهاجمان میتوانند عملیات شناسایی را انجام دهند تا بهترین روش برای نفوذ به یک سیستم آسیبپذیر را پیدا کنند. با این حال، در حملات غیر هدفمند از کمپینهای فیشینگ برای حمله به حداکثر تعداد ممکن سیستمهای آسیبپذیر استفاده میشود.
در این مرحله، مهاجم لایههای دفاعی سازمان هدف یا دستگاههای شخصی افراد را دور میزند تا نفوذ را انجام دهد.
پس از تکمیل نفوذ و اجرای بدافزار کدنویسی شده توسط مهاجم در سیستمهای هدف، آسیبپذیری مورد نظر اکسپلویت میشود.
کسانی که حملات روز صفر را انجام میدهند به دستههای زیر تقسیمبندی میشوند:
حملات روز صفر هدفمند، علیه اهداف بسیار مهم مثل سازمانهای دولتی، شرکتهای بزرگ یا کارکنان مهم سازمانها که دسترسیهای مهمی در سازمان خود دارند انجام میشوند.
در مقابل، حملات روز صفر کورکورانه قرار دارند که به صورت عمده و غیر هدفمند به کاربران حمله میکنند. در این حملات از آسیبپذیریهای یک نرمافزار بسیار رایج، مثل مرورگرها یا سیستمهای عامل استفاده میشود. انگیزه اصلی این نوع حملات نیز انگیزه مالی است.
همانطور که پیش از این گفتیم، حملات غیر هدفمند از طریق روشهایی مثل فیشینگ، حداکثر تعداد ممکن کاربران را هدف قرار میدهند.
در حالی که در سال ۲۰۱۶ فقط ۸ مورد حمله روز صفر گزارش شد، در سال ۲۰۲۱ این تعداد به صدها مورد رسید. اینطور که به نظر میرسد، هکرها در پیدا کردن و اکسپلویت کردن آسیبپذیریها بسیار توانمندتر و سریعتر شدهاند و خطر حملات روز صفر، روز به روز در حال بیشتر شدن است.
هر آسیبپذیری روز صفر میتواند نوعی دارایی ارزشمند باشد. هکرها میتوانند از این آسیبپذیریها سوء استفادههای زیادی کنند و بنابراین، این آسیبپذیریها ارزش خریدن دارند.
سه نوع بازار روز صفر وجود دارد که آسیبپذیریهای نرمافزاری در آنها معامله میشوند. هم پژوهشگران حوزه امنیت سایبری و هم هکرها در این بازارها فعالیت دارند.
برنامههایی وجود دارد که در آنها توسعهدهندگان نرمافزارها و سازمانهای امنیتی به پژوهشگران حوزه امنیت سایبری برای کشف آسیبپذیریهای ناشناخته پول پرداخت میکنند. این برنامهها توسط غولهای فناوری مثل اپل و مایکروسافت و سازمانهای دولتی مهم مثل پنتاگون در GitHub و BugCrowd راهاندازی شدهاند.
پژوهشگران میتوانند در این برنامهها با کشف آسیبپذیریها دستمزدهای صدها تا هزاران دلاری بگیرند.
شرکتهایی که در زمینه تحقیقات امنیت سایبری فعالیت دارند، فیدهای روز صفر (zero-day feeds) را به مشتریان خود ارائه میدهند. در این فیدها، آسیبپذیریهای کشف شده معرفی میشوند. البته این فیدها خصوصی هستند و تنها مشتریانی که به شرکت ارائه دهنده، پول پرداخت کنند میتوانند محتویات این فیدها را ببینند.
کارگزاریهای روز صفر (zero-day brokers) به عنوان واسطه کشف آسیبپذیریهای روز صفر بین مشتریان و پژوهشگران عمل میکنند. در این کارگزاریها، هویت مشتری و پژوهشگر، ناشناس باقی میماند.
فروشنده آسیبپذیری که ممکن است یک پژوهشگر رسمی باشد، نمیداند که مشتری او چه کسی است و قرار است که از آسیبپذیری روز صفر کشف شده چه استفادهای ببرد. با اینکه اکثر مشتریان، شرکتهای توسعه نرمافزار هستند، اما بعضی از آنها، میتوانند هکرهای تیمهای تروریستی یا نیروهای سایبری کشورهای متخاصم باشند.
بازارهای سیاه آسیبپذیریها و اکسپلویتهای روز صفر به سرعت در حال رشد کردن هستند. هکرها یا پژوهشگران غیرقانونی آسیبپذیریهای روز صفر کشف شده را در این بازارها به فروش میرسانند و کسانی که میخواهند از این آسیبپذیریها سوء استفاده کنند با هدف انجام حملات سایبری این آسیبپذیریها را میخرند.
به غیر از بازارهای گفته شده، سرویسهایی تجاری نیز وجود دارند که نرمافزارها را به صورت خودکار یا دستی تحلیل کرده و آسیبپذیریهای آنها را به مشتری گزارش میکنند. این سرویسها توسط شرکتهای تجاری فعال در حوزه امنیت سایبری ارائه میشوند.
به عنوان مثال میتوان از سرویس آزمایشگاه تلفن همراه سایبرنو نام برد. این سرویس آنلاین، فایلهای apk اپلیکیشنهای موبایل آپلود شده توسط مشتریان را تحلیل کرده و گزارشی کامل، شامل اطلاعاتی مثل درصد ریسکپذیری، آسیبپذیریها، آسیبپذیریهای کتابخانه، آنتیویروسهای مورد استفاده در اپلیکیشن و بسیاری از اطلاعات مهم را به مشتری ارائه میدهد.
در این بخش بعضی از مهمترین و اثرگذارترین حملات روز صفر را به شما معرفی میکنیم. همچنان با سایبرنو همراه باشید.
استاکس نت (Stuxnet) را به عنوان اولین سلاح سایبری جهان میشناسند. استاکس نت بدافزاری بود که در سال ۲۰۰۶ برای نفوذ به سانتریفیوژهای غنیسازی اورانیوم جمهوری اسلامی ایران مورد استفاده قرار گرفت.
بسیاری از متخصصین بر این باورند که آژانس امنیت ملی ایالات متحده آمریکا (NSA) این اکسپلویت را طراحی کرده است. این بدافزار، نوعی سیستم کنترل صنعتی خاص را آلوده و با کم و زیاد کردن سرعت سانتریفیوژها به آنها آسیب زد و آنها را از کار انداخت و سیستمهای نظارتی مراکز غنیسازی نیز همهچیز را طبیعی نشان میدادند.
در سال ۲۰۱۱، مهاجمان از یک آسیبپذیری پچ نشده در فلش پلیر ادوبی استفاده کردند تا وارد شبکه شرکت امنیتی RSA شوند. مهاجمان ایمیلهایی را با ضمیمه فایلهای اکسل برای کارکنان RSA منتشر کردند. این فایلها، یک فایل فلش را که آسیبپذیری روز صفر فلش پلیر ادوبی را اکسپلویت میکرد فعال میکردند. دادههای سرقت شده از این شرکت شامل اطلاعات مورد استفاده توسط مشتریان RSA در توکنهای امنیتی SecurID بود.
در سال ۲۰۱۴، یک حمله روز صفر علیه شرکت سونی انجام شد. جزئیاتی از آسیبپذیری اکسپلویت شده در این حمله بیان نشد ولی میدانیم که این حمله، شبکه داخلی سونی را با اختلال مواجه کرد و مهاجمان توانستند دادههای بسیار حساسی، شامل دادههای شخصی کارکنان این شرکت و خانوادههای آنها، مکاتبات داخلی شرکت، اطلاعات حقوقی مدیران سونی و نسخههایی از فیلمهای منتشر نشده سونی را سرقت کنند. همچنین، آنها از نوعی بدافزار wiper برای پاک کردن اطلاعات روی چندین سیستم شبکه داخلی شرکت سونی استفاده کردند.
دفاع کردن در مقابل حملات روز صفر بسیار دشوار است اما شما میتوانید خودتان را برای مقابله با این حملات، آماده کنید.